From: cl349@firebug.cl.cam.ac.uk Date: Wed, 14 Sep 2005 19:29:25 +0000 (+0000) Subject: Support removing nodes from store if value to store is None. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16806^2~6 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=413f5b924c76b5a7eb677227100f27e0a534295b;p=xen.git Support removing nodes from store if value to store is None. Signed-off-by: Christian Limpach --- diff --git a/tools/python/xen/xend/xenstore/xstransact.py b/tools/python/xen/xend/xenstore/xstransact.py index 378dd179cb..7cabc25127 100644 --- a/tools/python/xen/xend/xenstore/xstransact.py +++ b/tools/python/xen/xend/xenstore/xstransact.py @@ -113,7 +113,7 @@ class xstransact: else: (key, fn, defval) = tup try: - val = fn(self.read(key)) + val = fn(self._read(key)) except TypeError: val = defval ret.append(val) @@ -128,12 +128,16 @@ class xstransact: try: fmt = { str : "%s", int : "%i", - float : "%f" }[type(val)] + float : "%f", + type(None) : None }[type(val)] except KeyError: raise TypeError else: (key, val, fmt) = tup - self.write(key, fmt % val) + if val: + self._write(key, fmt % val) + else: + self._remove(key) def Read(cls, path, *args):